Many communication systems use Forward Error Correction (FEC) codes to improve their performance in the presence of noise and distortion. Some block FEC codes are commonly decoded using iterative decoding processes. Iterative decoding methods are described, for example, by Worthen and Stark in “Unified Design of Iterative Receivers using Factor Graphs,” IEEE Transactions on Information Theory, (47:2), February, 2001, pages 843-849, and by Richardson and Urbanke in “An Introduction to the Analysis of Iterative Coding Systems,” Proceedings of the 1999 Institute for Mathematics and its Applications (IMA) Summer program: Codes, Systems and Graphical Models, Minneapolis, Minn., Aug. 2-6, 1999, which are incorporated herein by reference. Iterative FEC decoding processes often accept as input metrics of received bits and/or symbols. Some FEC metrics are bit-related, such as, for example, likelihood ratios (LRs) or log-likelihood ratios (LLRs) of individual bits in the received symbols.
Two families of codes that are commonly decoded using iterative processes are Low Density Parity Check (LDPC) codes and turbo codes. LDPC codes were first introduced by Gallager in “Low-Density Parity Check Codes,” IRE Transactions on Information Theory, Volume 7, January, 1962, pages 21-28, which is incorporated herein by reference, and are also described by Ryan and Vasic in “An Introduction to LDPC Codes,” GlobeCom 2003, San Francisco, Calif., Dec. 5, 2003, which is incorporated herein by reference.
In many Radio Frequency (RF) communication systems, the received signal is distorted by phase noise. Phase noise may be contributed, for example, by Local Oscillators (LOs) and other frequency and clock sources in the transmitter and/or receiver, by analog-to-digital and digital-to analog converters, as well as by other sources. Some communication receivers and reception methods, and in particular methods for decoding FEC codes, are designed for receiving signals in the presence of phase noise.
For example, U.S. Patent Application Publication 2006/0107179, whose disclosure is incorporated herein by reference, describes a method in which a magnitude metric of received signals is amplified during iterative decoding of LDPC code and LDPC coded modulation. The method selects a metric coefficient value that is used to calculate the initial conditions when decoding LDPC coded signals, depending on the particular Signal-to-Noise Ratio (SNR) at which the communication system is operating. By adjusting the metric coefficient value according to the given LDPC code, modulation, and noise variance, the convergence speed of the decoding process is slowed down so that the decoder will not converge to the wrong codeword. The range of the outputs of the decoder is restricted so that the output will not oscillate, and will eventually converge to the correct codeword.
Colavolpe et al. propose iterative decoding algorithms for channels affected by strong phase noise in “Algorithms for Iterative Decoding in the Presence of Strong Phase Noise,” IEEE Journal on Selected Areas in Communications, (23:9), September, 2005, pages 1748-1757, which is incorporated herein by reference. The proposed algorithms apply the sum-product algorithm to the factor graph representing the joint a-posteriori probability mass function of the information bits, given the channel output. Problems caused by the presence of continuous random variables in the factor graph are addresses by applying canonical distributions. Two proposed algorithms are based on a Fourier series expansion of the phase probability density function, and on the Tikhonov canonical distribution.